using System;

namespace RRHH.Competencias.Entities
{
	/// <summary>
	/// Representa un criterio de busqueda
    /// utilizado al crear un reporte dinamico
	/// </summary>
	public class ReporteCriterioFiltro
	{
        private ReporteCampoColumna columna;
        private string tipoFiltro;
        private string tipoCondicion;
		private string desde;
		private string hasta;

        public ReporteCriterioFiltro(ReporteCampoColumna columna) 
        {
            this.columna = columna;
        }

		public string Nombre
		{
			set{columna.Nombre = value;}
			get{return columna.Nombre;}
		}

		public string Descripcion
		{
			set{columna.Descripcion = value;}
			get{return columna.Descripcion;}
		}

		public string Tipo
		{
			set{columna.Tipo = value;}
			get{return columna.Tipo;}
		}

        public string TipoFiltro
        {
            get { return tipoFiltro; }
            set { tipoFiltro = value; }
        }

        public string TipoCondicion
        {
            get { return tipoCondicion; }
            set { tipoCondicion = value; }
        }

		public string Desde
		{
			set{desde = value;}
			get{return desde;}
		}

		public string Hasta
		{
			set{hasta = value;}
			get{return hasta;}
		}

        public override bool Equals(object obj)
        {
            if (obj == null) return false;
            return columna.Equals(((ReporteCriterioFiltro)obj).columna);
        }

        public override int GetHashCode()
        {
            return base.GetHashCode();
        }
	}
}
